package org.sith.taskrunner.ejb.db.dao;

import org.sith.taskrunner.api.toolkit.TaskToolkit;
import org.sith.taskrunner.ejb.db.entity.TaskToolkitEntity;

import javax.ejb.Local;
import java.util.List;
import java.util.Set;

@Local
public interface ToolkitDAO extends DefaultDAO<TaskToolkitEntity> {
    TaskToolkitEntity findByNameAndVersion(String toolkitBuilderName, Double version);

    List<TaskToolkit> findActiveToolkits();

    List<TaskToolkit> findAllToolkits();

    List<TaskToolkit> findSystemToolkits();

    boolean updateToolkitActiveState(Long id, boolean active);

    void updateAllToolkitActiveState(boolean active);

    TaskToolkitEntity getActiveToolkit(String name, Double version);

    boolean updateToolkitActiveState(Class clazz, boolean active);
}
